<?php

namespace Gnway\Ticket\Rest\Request;

class RequestContext
{

  /**
   * Class Path
   *
   * @var string|null
   */
  private ?string $classPath = NULL;

  /**
   * Class Name
   *
   * @var string|null
   */
  private ?string $className = NULL;

  /**
   * Method Name
   *
   * @var string|null
   */
  private ?string $methodName = NULL;

  /**
   * Service Name
   *
   * @var string|null
   */
  private ?string $serviceName = NULL;

  /**
   * Arguments
   *
   * @var array|null
   */
  private ?array $arguments = NULL;

  /**
   * Response
   *
   * @var mixed
   */
  private $response = NULL;

  /**
   * @return string|null
   */
  public function getClassPath(): ?string
  {
    return $this->classPath;
  }

  /**
   * @param string|null $classPath
   */
  public function setClassPath(?string $classPath): void
  {
    $this->classPath = $classPath;
  }

  /**
   * @return string|null
   */
  public function getClassName(): ?string
  {
    return $this->className;
  }

  /**
   * @param string|null $className
   */
  public function setClassName(?string $className): void
  {
    $this->className = $className;
  }

  /**
   * @return string|null
   */
  public function getMethodName(): ?string
  {
    return $this->methodName;
  }

  /**
   * @param string|null $methodName
   */
  public function setMethodName(?string $methodName): void
  {
    $this->methodName = $methodName;
  }

  /**
   * @return string|null
   */
  public function getServiceName(): ?string
  {
    return $this->serviceName;
  }

  /**
   * @param string|null $serviceName
   */
  public function setServiceName(?string $serviceName): void
  {
    $this->serviceName = $serviceName;
  }

  /**
   * @return array|null
   */
  public function getArguments(): ?array
  {
    return $this->arguments;
  }

  /**
   * @param array|null $arguments
   */
  public function setArguments(?array $arguments): void
  {
    $this->arguments = $arguments;
  }

  /**
   * @return mixed
   */
  public function getResponse()
  {
    return $this->response;
  }

  /**
   * @param mixed $response
   */
  public function setResponse($response): void
  {
    $this->response = $response;
  }

}